home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / SLAX 6.0.8 / slax-6.0.8.iso / slax / base / 006-devel.lzm / usr / include / GL / mglmesa.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-07-16  |  3.1 KB  |  80 lines

  1. /****************************************************************************
  2. *
  3. *                      Mesa bindings for SciTech MGL
  4. *
  5. *                   Copyright (C) 1996 SciTech Software.
  6. *                           All rights reserved.
  7. *
  8. * Filename:     mglmesa.h
  9. * Version:      Revision: 1.1.1.1
  10. *
  11. * Language:     ANSI C
  12. * Environment:  Any
  13. *
  14. * Description:  Header file for the Mesa/OpenGL interface bindings for the
  15. *               SciTech MGL graphics library. Uses the MGL internal
  16. *               device context structures to get direct access to the
  17. *               high performance MGL rasterization functions for maximum
  18. *               performance. Utilizes the VESA VBE/AF Accelerator Functions
  19. *               via the MGL's accelerated device driver functions, as well
  20. *               as basic DirectDraw accelerated functions provided by the
  21. *               MGL.
  22. *
  23. * This library is free software; you can redistribute it and/or
  24. * modify it under the terms of the GNU Library General Public
  25. * License as published by the Free Software Foundation; either
  26. * version 2 of the License, or (at your option) any later version.
  27. *
  28. * This library is distributed in the hope that it will be useful,
  29. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  30. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  31. * Library General Public License for more details.
  32. *
  33. * You should have received a copy of the GNU Library General Public
  34. * License along with this library; if not, write to the Free
  35. * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  36. *
  37. *
  38. ****************************************************************************/
  39.  
  40. #ifndef __MGLMESA_H
  41. #define __MGLMESA_H
  42.  
  43. #include "mgraph.h"
  44.  
  45. /*------------------------- Function Prototypes ---------------------------*/
  46.  
  47. #ifdef  __cplusplus
  48. extern "C" {            /* Use "C" linkage when in C++ mode */
  49. #endif
  50.  
  51. #ifndef __WINDOWS__
  52. #define GLAPIENTRY
  53. #endif
  54.  
  55. #ifdef  __WINDOWS__
  56. bool    GLAPIENTRY MGLMesaInitDLL(MGLCallbacks *cb,char *version);
  57. #endif
  58. void    GLAPIENTRY MGLMesaChooseVisual(MGLDC *dc,MGLVisual *visual);
  59. bool    GLAPIENTRY MGLMesaSetVisual(MGLDC *dc,MGLVisual *visual);
  60. bool    GLAPIENTRY MGLMesaCreateContext(MGLDC *dc,bool forceMemDC);
  61. void    GLAPIENTRY MGLMesaDestroyContext(MGLDC *dc);
  62. void    GLAPIENTRY MGLMesaMakeCurrent(MGLDC *dc);
  63. void    GLAPIENTRY MGLMesaSwapBuffers(MGLDC *dc,bool waitVRT);
  64.  
  65. /* Palette manipulation support. The reason we provide palette manipulation
  66.  * routines is so that when rendering in double buffered modes with a
  67.  * software backbuffer, the palette for the backbuffer is kept consistent
  68.  * with the hardware front buffer.
  69.  */
  70.  
  71. void    GLAPIENTRY MGLMesaSetPaletteEntry(MGLDC *dc,int entry,uchar red,uchar green,uchar blue);
  72. void    GLAPIENTRY MGLMesaSetPalette(MGLDC *dc,palette_t *pal,int numColors,int startIndex);
  73. void    GLAPIENTRY MGLMesaRealizePalette(MGLDC *dc,int numColors,int startIndex,int waitVRT);
  74.  
  75. #ifdef  __cplusplus
  76. }                       /* End of "C" linkage for C++   */
  77. #endif  /* __cplusplus */
  78.  
  79. #endif  /* __MGLMESA_H */
  80.